/*****************************
 *@file: CharacterEntityList
 *@author: 陈吕唐
 *@desc: 角色列表
 *@date: 2024-03-23	13:57
 *****************************/
import { Node, _decorator } from 'cc';
import CharacterManageSingle from '../character/CharacteManageSingle';
import { CustomList } from '../libs/component/list/CustomList';
import ICustomListItem from '../libs/component/list/ICustomListItem';
import { CharacterEntityItem } from './items/CharacterEntityItem';
const { ccclass, property } = _decorator;

@ccclass('CharacterEntityList')
export class CharacterEntityList extends CustomList {
    /****************************************************************************************************************
     *Readonly 常量
     ****************************************************************************************************************/

    /****************************************************************************************************************
     *Property 定义变量
     ****************************************************************************************************************/

    /***************************************************************
     *PropertyUI 引用的控件
     ***************************************************************/

    /****************************************************************************************************************
     * Lifecycle 生命周期相关方法
     ****************************************************************************************************************/
    protected onLoad(): void {
        super.onLoad();
    }

    protected onEnable(): void {
        super.onEnable();
        this.updateList();
    }
    /****************************************************************************************************************
     * Public 公有方法
     ****************************************************************************************************************/
    /**
     * 更新当前列表数据
     * @returns 
     */
    private updateList(): void {
        if (!this.enabledInHierarchy) {
            return;
        }

        let array = CharacterManageSingle.single.characterEntities;
        this.array = array;
    }
    /****************************************************************************************************************
     * private 私有方法
     ****************************************************************************************************************/
    protected override getCustomListItem(node: Node): ICustomListItem {
        return node.getComponent(CharacterEntityItem);
    }
    /****************************************************************************************************************
     * Property Get && Set 属性的 get && set 函数
     ****************************************************************************************************************/

}

